.TH "QwtPicker" 3 "Thu Dec 11 2014" "Version 6.1.2" "Qwt User's Guide" \" -*- nroff -*-
.ad l
.nh
.SH NAME
QwtPicker \- 
.PP
\fBQwtPicker\fP provides selections on a widget\&.  

.SH SYNOPSIS
.br
.PP
.PP
\fC#include <qwt_picker\&.h>\fP
.PP
Inherits QObject, and \fBQwtEventPattern\fP\&.
.PP
Inherited by \fBQwtPlotPicker\fP\&.
.SS "Public Types"

.in +1c
.ti -1c
.RI "enum \fBRubberBand\fP { \fBNoRubberBand\fP = 0, \fBHLineRubberBand\fP, \fBVLineRubberBand\fP, \fBCrossRubberBand\fP, \fBRectRubberBand\fP, \fBEllipseRubberBand\fP, \fBPolygonRubberBand\fP, \fBUserRubberBand\fP = 100 }"
.br
.ti -1c
.RI "enum \fBDisplayMode\fP { \fBAlwaysOff\fP, \fBAlwaysOn\fP, \fBActiveOnly\fP }"
.br
.RI "\fIDisplay mode\&. \fP"
.ti -1c
.RI "enum \fBResizeMode\fP { \fBStretch\fP, \fBKeepSize\fP }"
.br
.in -1c
.SS "Public Slots"

.in +1c
.ti -1c
.RI "void \fBsetEnabled\fP (bool)"
.br
.RI "\fIEn/disable the picker\&. \fP"
.in -1c
.SS "Signals"

.in +1c
.ti -1c
.RI "void \fBactivated\fP (bool on)"
.br
.ti -1c
.RI "void \fBselected\fP (const QPolygon &polygon)"
.br
.ti -1c
.RI "void \fBappended\fP (const QPoint &pos)"
.br
.ti -1c
.RI "void \fBmoved\fP (const QPoint &pos)"
.br
.ti -1c
.RI "void \fBremoved\fP (const QPoint &pos)"
.br
.ti -1c
.RI "void \fBchanged\fP (const QPolygon &\fBselection\fP)"
.br
.in -1c
.SS "Public Member Functions"

.in +1c
.ti -1c
.RI "\fBQwtPicker\fP (QWidget *parent)"
.br
.ti -1c
.RI "\fBQwtPicker\fP (\fBRubberBand\fP \fBrubberBand\fP, \fBDisplayMode\fP \fBtrackerMode\fP, QWidget *)"
.br
.ti -1c
.RI "virtual \fB~QwtPicker\fP ()"
.br
.RI "\fIDestructor\&. \fP"
.ti -1c
.RI "void \fBsetStateMachine\fP (\fBQwtPickerMachine\fP *)"
.br
.ti -1c
.RI "const \fBQwtPickerMachine\fP * \fBstateMachine\fP () const "
.br
.ti -1c
.RI "\fBQwtPickerMachine\fP * \fBstateMachine\fP ()"
.br
.ti -1c
.RI "void \fBsetRubberBand\fP (\fBRubberBand\fP)"
.br
.ti -1c
.RI "\fBRubberBand\fP \fBrubberBand\fP () const "
.br
.ti -1c
.RI "void \fBsetTrackerMode\fP (\fBDisplayMode\fP)"
.br
.RI "\fISet the display mode of the tracker\&. \fP"
.ti -1c
.RI "\fBDisplayMode\fP \fBtrackerMode\fP () const "
.br
.ti -1c
.RI "void \fBsetResizeMode\fP (\fBResizeMode\fP)"
.br
.RI "\fISet the resize mode\&. \fP"
.ti -1c
.RI "\fBResizeMode\fP \fBresizeMode\fP () const "
.br
.ti -1c
.RI "void \fBsetRubberBandPen\fP (const QPen &)"
.br
.ti -1c
.RI "QPen \fBrubberBandPen\fP () const "
.br
.ti -1c
.RI "void \fBsetTrackerPen\fP (const QPen &)"
.br
.ti -1c
.RI "QPen \fBtrackerPen\fP () const "
.br
.ti -1c
.RI "void \fBsetTrackerFont\fP (const QFont &)"
.br
.ti -1c
.RI "QFont \fBtrackerFont\fP () const "
.br
.ti -1c
.RI "bool \fBisEnabled\fP () const "
.br
.ti -1c
.RI "bool \fBisActive\fP () const "
.br
.ti -1c
.RI "virtual bool \fBeventFilter\fP (QObject *, QEvent *)"
.br
.RI "\fIEvent filter\&. \fP"
.ti -1c
.RI "QWidget * \fBparentWidget\fP ()"
.br
.RI "\fIReturn the parent widget, where the selection happens\&. \fP"
.ti -1c
.RI "const QWidget * \fBparentWidget\fP () const "
.br
.RI "\fIReturn the parent widget, where the selection happens\&. \fP"
.ti -1c
.RI "virtual QPainterPath \fBpickArea\fP () const "
.br
.ti -1c
.RI "virtual void \fBdrawRubberBand\fP (QPainter *) const "
.br
.ti -1c
.RI "virtual void \fBdrawTracker\fP (QPainter *) const "
.br
.ti -1c
.RI "virtual QRegion \fBrubberBandMask\fP () const "
.br
.ti -1c
.RI "virtual \fBQwtText\fP \fBtrackerText\fP (const QPoint &pos) const "
.br
.RI "\fIReturn the label for a position\&. \fP"
.ti -1c
.RI "QPoint \fBtrackerPosition\fP () const "
.br
.ti -1c
.RI "virtual QRect \fBtrackerRect\fP (const QFont &) const "
.br
.ti -1c
.RI "QPolygon \fBselection\fP () const "
.br
.in -1c
.SS "Protected Member Functions"

.in +1c
.ti -1c
.RI "virtual QPolygon \fBadjustedPoints\fP (const QPolygon &) const "
.br
.RI "\fIMap the \fBpickedPoints()\fP into a \fBselection()\fP \fP"
.ti -1c
.RI "virtual void \fBtransition\fP (const QEvent *)"
.br
.ti -1c
.RI "virtual void \fBbegin\fP ()"
.br
.ti -1c
.RI "virtual void \fBappend\fP (const QPoint &)"
.br
.ti -1c
.RI "virtual void \fBmove\fP (const QPoint &)"
.br
.ti -1c
.RI "virtual void \fBremove\fP ()"
.br
.ti -1c
.RI "virtual bool \fBend\fP (bool ok=true)"
.br
.RI "\fIClose a selection setting the state to inactive\&. \fP"
.ti -1c
.RI "virtual bool \fBaccept\fP (QPolygon &) const "
.br
.RI "\fIValidate and fix up the selection\&. \fP"
.ti -1c
.RI "virtual void \fBreset\fP ()"
.br
.ti -1c
.RI "virtual void \fBwidgetMousePressEvent\fP (QMouseEvent *)"
.br
.ti -1c
.RI "virtual void \fBwidgetMouseReleaseEvent\fP (QMouseEvent *)"
.br
.ti -1c
.RI "virtual void \fBwidgetMouseDoubleClickEvent\fP (QMouseEvent *)"
.br
.ti -1c
.RI "virtual void \fBwidgetMouseMoveEvent\fP (QMouseEvent *)"
.br
.ti -1c
.RI "virtual void \fBwidgetWheelEvent\fP (QWheelEvent *)"
.br
.ti -1c
.RI "virtual void \fBwidgetKeyPressEvent\fP (QKeyEvent *)"
.br
.ti -1c
.RI "virtual void \fBwidgetKeyReleaseEvent\fP (QKeyEvent *)"
.br
.ti -1c
.RI "virtual void \fBwidgetEnterEvent\fP (QEvent *)"
.br
.ti -1c
.RI "virtual void \fBwidgetLeaveEvent\fP (QEvent *)"
.br
.ti -1c
.RI "virtual void \fBstretchSelection\fP (const QSize &oldSize, const QSize &newSize)"
.br
.ti -1c
.RI "virtual void \fBupdateDisplay\fP ()"
.br
.RI "\fIUpdate the state of rubber band and tracker label\&. \fP"
.ti -1c
.RI "const \fBQwtWidgetOverlay\fP * \fBrubberBandOverlay\fP () const "
.br
.ti -1c
.RI "const \fBQwtWidgetOverlay\fP * \fBtrackerOverlay\fP () const "
.br
.ti -1c
.RI "const QPolygon & \fBpickedPoints\fP () const "
.br
.in -1c
.SH "Detailed Description"
.PP 
\fBQwtPicker\fP provides selections on a widget\&. 

\fBQwtPicker\fP filters all enter, leave, mouse and keyboard events of a widget and translates them into an array of selected points\&.
.PP
The way how the points are collected depends on type of state machine that is connected to the picker\&. Qwt offers a couple of predefined state machines for selecting:
.PP
.IP "\(bu" 2
Nothing
.br
 \fBQwtPickerTrackerMachine\fP
.IP "\(bu" 2
Single points
.br
 \fBQwtPickerClickPointMachine\fP, \fBQwtPickerDragPointMachine\fP
.IP "\(bu" 2
Rectangles
.br
 \fBQwtPickerClickRectMachine\fP, \fBQwtPickerDragRectMachine\fP
.IP "\(bu" 2
Polygons
.br
 \fBQwtPickerPolygonMachine\fP
.PP
.PP
While these state machines cover the most common ways to collect points it is also possible to implement individual machines as well\&.
.PP
\fBQwtPicker\fP translates the picked points into a selection using the \fBadjustedPoints()\fP method\&. \fBadjustedPoints()\fP is intended to be reimplemented to fix up the selection according to application specific requirements\&. (F\&.e\&. when an application accepts rectangles of a fixed aspect ratio only\&.)
.PP
Optionally \fBQwtPicker\fP support the process of collecting points by a rubber band and tracker displaying a text for the current mouse position\&.
.PP
\fBExample\fP
.RS 4

.PP
.nf
#include <qwt_picker.h>
#include <qwt_picker_machine.h>

QwtPicker *picker = new QwtPicker(widget);
picker->setStateMachine(new QwtPickerDragRectMachine);
picker->setTrackerMode(QwtPicker::ActiveOnly);
picker->setRubberBand(QwtPicker::RectRubberBand); 
.fi
.PP

.br
 The state machine triggers the following commands:
.RE
.PP
.IP "\(bu" 2
\fBbegin()\fP
.br
 Activate/Initialize the selection\&.
.IP "\(bu" 2
\fBappend()\fP
.br
 Add a new point
.IP "\(bu" 2
\fBmove()\fP 
.br
 Change the position of the last point\&.
.IP "\(bu" 2
\fBremove()\fP
.br
 Remove the last point\&.
.IP "\(bu" 2
\fBend()\fP
.br
 Terminate the selection and call accept to validate the picked points\&.
.PP
.PP
The picker is active (\fBisActive()\fP), between \fBbegin()\fP and \fBend()\fP\&. In active state the rubber band is displayed, and the tracker is visible in case of trackerMode is ActiveOnly or AlwaysOn\&.
.PP
The cursor can be moved using the arrow keys\&. All selections can be aborted using the abort key\&. (\fBQwtEventPattern::KeyPatternCode\fP)
.PP
\fBWarning:\fP
.RS 4
In case of QWidget::NoFocus the focus policy of the observed widget is set to QWidget::WheelFocus and mouse tracking will be manipulated while the picker is active, or if \fBtrackerMode()\fP is AlwayOn\&. 
.RE
.PP

.SH "Member Enumeration Documentation"
.PP 
.SS "enum \fBQwtPicker::DisplayMode\fP"

.PP
Display mode\&. 
.PP
\fBSee Also:\fP
.RS 4
\fBsetTrackerMode()\fP, \fBtrackerMode()\fP, \fBisActive()\fP 
.RE
.PP

.PP
\fBEnumerator\fP
.in +1c
.TP
\fB\fIAlwaysOff \fP\fP
Display never\&. 
.TP
\fB\fIAlwaysOn \fP\fP
Display always\&. 
.TP
\fB\fIActiveOnly \fP\fP
Display only when the selection is active\&. 
.SS "enum \fBQwtPicker::ResizeMode\fP"
Controls what to do with the selected points of an active selection when the observed widget is resized\&.
.PP
The default value is \fBQwtPicker::Stretch\fP\&. 
.PP
\fBSee Also:\fP
.RS 4
\fBsetResizeMode()\fP 
.RE
.PP

.PP
\fBEnumerator\fP
.in +1c
.TP
\fB\fIStretch \fP\fP
All points are scaled according to the new size,\&. 
.TP
\fB\fIKeepSize \fP\fP
All points remain unchanged\&. 
.SS "enum \fBQwtPicker::RubberBand\fP"
Rubber band style
.PP
The default value is \fBQwtPicker::NoRubberBand\fP\&. 
.PP
\fBSee Also:\fP
.RS 4
\fBsetRubberBand()\fP, \fBrubberBand()\fP 
.RE
.PP

.PP
\fBEnumerator\fP
.in +1c
.TP
\fB\fINoRubberBand \fP\fP
No rubberband\&. 
.TP
\fB\fIHLineRubberBand \fP\fP
A horizontal line ( only for \fBQwtPickerMachine::PointSelection\fP ) 
.TP
\fB\fIVLineRubberBand \fP\fP
A vertical line ( only for \fBQwtPickerMachine::PointSelection\fP ) 
.TP
\fB\fICrossRubberBand \fP\fP
A crosshair ( only for \fBQwtPickerMachine::PointSelection\fP ) 
.TP
\fB\fIRectRubberBand \fP\fP
A rectangle ( only for \fBQwtPickerMachine::RectSelection\fP ) 
.TP
\fB\fIEllipseRubberBand \fP\fP
An ellipse ( only for \fBQwtPickerMachine::RectSelection\fP ) 
.TP
\fB\fIPolygonRubberBand \fP\fP
A polygon ( only for \fBQwtPickerMachine::PolygonSelection\fP ) 
.TP
\fB\fIUserRubberBand \fP\fP
Values >= UserRubberBand can be used to define additional rubber bands\&. 
.SH "Constructor & Destructor Documentation"
.PP 
.SS "QwtPicker::QwtPicker (QWidget *parent)\fC [explicit]\fP"
Constructor
.PP
Creates an picker that is enabled, but without a state machine\&. rubber band and tracker are disabled\&.
.PP
\fBParameters:\fP
.RS 4
\fIparent\fP Parent widget, that will be observed 
.RE
.PP

.SS "QwtPicker::QwtPicker (\fBRubberBand\fPrubberBand, \fBDisplayMode\fPtrackerMode, QWidget *parent)\fC [explicit]\fP"
Constructor
.PP
\fBParameters:\fP
.RS 4
\fIrubberBand\fP Rubber band style 
.br
\fItrackerMode\fP Tracker mode 
.br
\fIparent\fP Parent widget, that will be observed 
.RE
.PP

.SH "Member Function Documentation"
.PP 
.SS "bool QwtPicker::accept (QPolygon &selection) const\fC [protected]\fP, \fC [virtual]\fP"

.PP
Validate and fix up the selection\&. Accepts all selections unmodified
.PP
\fBParameters:\fP
.RS 4
\fIselection\fP Selection to validate and fix up 
.RE
.PP
\fBReturns:\fP
.RS 4
true, when accepted, false otherwise 
.RE
.PP

.PP
Reimplemented in \fBQwtPlotZoomer\fP\&.
.SS "void QwtPicker::activated (boolon)\fC [signal]\fP"
A signal indicating, when the picker has been activated\&. Together with \fBsetEnabled()\fP it can be used to implement selections with more than one picker\&.
.PP
\fBParameters:\fP
.RS 4
\fIon\fP True, when the picker has been activated 
.RE
.PP

.SS "QPolygon QwtPicker::adjustedPoints (const QPolygon &points) const\fC [protected]\fP, \fC [virtual]\fP"

.PP
Map the \fBpickedPoints()\fP into a \fBselection()\fP \fBadjustedPoints()\fP maps the points, that have been collected on the \fBparentWidget()\fP into a \fBselection()\fP\&. The default implementation simply returns the points unmodified\&.
.PP
The reason, why a \fBselection()\fP differs from the picked points depends on the application requirements\&. F\&.e\&. :
.PP
.IP "\(bu" 2
A rectangular selection might need to have a specific aspect ratio only\&.
.br

.IP "\(bu" 2
A selection could accept non intersecting polygons only\&.
.br

.IP "\(bu" 2
\&.\&.\&.
.br
 The example below is for a rectangular selection, where the first point is the center of the selected rectangle\&. 
.PP
\fBExample\fP
.RS 4

.PP
.nf
QPolygon MyPicker::adjustedPoints(const QPolygon &points) const
{
    QPolygon adjusted;
    if ( points.size() == 2 )
    {
        const int width = qAbs(points[1].x() - points[0].x());
        const int height = qAbs(points[1].y() - points[0].y());

        QRect rect(0, 0, 2 * width, 2 * height);
        rect.moveCenter(points[0]);

        adjusted += rect.topLeft();
        adjusted += rect.bottomRight();
    }
    return adjusted;
}
.fi
.PP

.br
 
.RE
.PP
\fBParameters:\fP
.RS 4
\fIpoints\fP Selected points 
.RE
.PP
\fBReturns:\fP
.RS 4
Selected points unmodified 
.RE
.PP

.PP

.SS "void QwtPicker::append (const QPoint &pos)\fC [protected]\fP, \fC [virtual]\fP"
Append a point to the selection and update rubber band and tracker\&. The \fBappended()\fP signal is emitted\&.
.PP
\fBParameters:\fP
.RS 4
\fIpos\fP Additional point
.RE
.PP
\fBSee Also:\fP
.RS 4
\fBisActive()\fP, \fBbegin()\fP, \fBend()\fP, \fBmove()\fP, \fBappended()\fP 
.RE
.PP

.PP
Reimplemented in \fBQwtPlotPicker\fP\&.
.SS "void QwtPicker::appended (const QPoint &pos)\fC [signal]\fP"
A signal emitted when a point has been appended to the selection
.PP
\fBParameters:\fP
.RS 4
\fIpos\fP Position of the appended point\&. 
.RE
.PP
\fBSee Also:\fP
.RS 4
\fBappend()\fP\&. \fBmoved()\fP 
.RE
.PP

.SS "void QwtPicker::begin ()\fC [protected]\fP, \fC [virtual]\fP"
Open a selection setting the state to active
.PP
\fBSee Also:\fP
.RS 4
\fBisActive()\fP, \fBend()\fP, \fBappend()\fP, \fBmove()\fP 
.RE
.PP

.PP
Reimplemented in \fBQwtPlotZoomer\fP\&.
.SS "void QwtPicker::changed (const QPolygon &selection)\fC [signal]\fP"
A signal emitted when the active selection has been changed\&. This might happen when the observed widget is resized\&.
.PP
\fBParameters:\fP
.RS 4
\fIselection\fP Changed selection 
.RE
.PP
\fBSee Also:\fP
.RS 4
\fBstretchSelection()\fP 
.RE
.PP

.SS "void QwtPicker::drawRubberBand (QPainter *painter) const\fC [virtual]\fP"
Draw a rubber band, depending on \fBrubberBand()\fP
.PP
\fBParameters:\fP
.RS 4
\fIpainter\fP Painter, initialized with a clip region
.RE
.PP
\fBSee Also:\fP
.RS 4
\fBrubberBand()\fP, \fBRubberBand\fP 
.RE
.PP

.SS "void QwtPicker::drawTracker (QPainter *painter) const\fC [virtual]\fP"
Draw the tracker
.PP
\fBParameters:\fP
.RS 4
\fIpainter\fP Painter 
.RE
.PP
\fBSee Also:\fP
.RS 4
\fBtrackerRect()\fP, \fBtrackerText()\fP 
.RE
.PP

.SS "bool QwtPicker::end (boolok = \fCtrue\fP)\fC [protected]\fP, \fC [virtual]\fP"

.PP
Close a selection setting the state to inactive\&. The selection is validated and maybe fixed by \fBaccept()\fP\&.
.PP
\fBParameters:\fP
.RS 4
\fIok\fP If true, complete the selection and emit a selected signal otherwise discard the selection\&. 
.RE
.PP
\fBReturns:\fP
.RS 4
true if the selection is accepted, false otherwise 
.RE
.PP
\fBSee Also:\fP
.RS 4
\fBisActive()\fP, \fBbegin()\fP, \fBappend()\fP, \fBmove()\fP, \fBselected()\fP, \fBaccept()\fP 
.RE
.PP

.PP
Reimplemented in \fBQwtPlotZoomer\fP, and \fBQwtPlotPicker\fP\&.
.SS "bool QwtPicker::eventFilter (QObject *object, QEvent *event)\fC [virtual]\fP"

.PP
Event filter\&. When \fBisEnabled()\fP is true all events of the observed widget are filtered\&. Mouse and keyboard events are translated into widgetMouse- and widgetKey- and widgetWheel-events\&. Paint and Resize events are handled to keep rubber band and tracker up to date\&.
.PP
\fBParameters:\fP
.RS 4
\fIobject\fP Object to be filtered 
.br
\fIevent\fP Event
.RE
.PP
\fBReturns:\fP
.RS 4
Always false\&.
.RE
.PP
\fBSee Also:\fP
.RS 4
\fBwidgetEnterEvent()\fP, \fBwidgetLeaveEvent()\fP, \fBwidgetMousePressEvent()\fP, \fBwidgetMouseReleaseEvent()\fP, \fBwidgetMouseDoubleClickEvent()\fP, \fBwidgetMouseMoveEvent()\fP, \fBwidgetWheelEvent()\fP, \fBwidgetKeyPressEvent()\fP, \fBwidgetKeyReleaseEvent()\fP, QObject::installEventFilter(), QObject::event() 
.RE
.PP

.SS "bool QwtPicker::isActive () const"
A picker is active between \fBbegin()\fP and \fBend()\fP\&. 
.PP
\fBReturns:\fP
.RS 4
true if the selection is active\&. 
.RE
.PP

.SS "bool QwtPicker::isEnabled () const"

.PP
\fBReturns:\fP
.RS 4
true when enabled, false otherwise 
.RE
.PP
\fBSee Also:\fP
.RS 4
\fBsetEnabled()\fP, \fBeventFilter()\fP 
.RE
.PP

.SS "void QwtPicker::move (const QPoint &pos)\fC [protected]\fP, \fC [virtual]\fP"
Move the last point of the selection The \fBmoved()\fP signal is emitted\&.
.PP
\fBParameters:\fP
.RS 4
\fIpos\fP New position 
.RE
.PP
\fBSee Also:\fP
.RS 4
\fBisActive()\fP, \fBbegin()\fP, \fBend()\fP, \fBappend()\fP 
.RE
.PP

.PP
Reimplemented in \fBQwtPlotPicker\fP\&.
.SS "void QwtPicker::moved (const QPoint &pos)\fC [signal]\fP"
A signal emitted whenever the last appended point of the selection has been moved\&.
.PP
\fBParameters:\fP
.RS 4
\fIpos\fP Position of the moved last point of the selection\&. 
.RE
.PP
\fBSee Also:\fP
.RS 4
\fBmove()\fP, \fBappended()\fP 
.RE
.PP

.SS "QPainterPath QwtPicker::pickArea () const\fC [virtual]\fP"
Find the area of the observed widget, where selection might happen\&.
.PP
\fBReturns:\fP
.RS 4
\fBparentWidget()\fP->contentsRect() 
.RE
.PP

.SS "const QPolygon & QwtPicker::pickedPoints () const\fC [protected]\fP"
Return the points, that have been collected so far\&. The \fBselection()\fP is calculated from the \fBpickedPoints()\fP in \fBadjustedPoints()\fP\&. 
.PP
\fBReturns:\fP
.RS 4
Picked points 
.RE
.PP

.SS "void QwtPicker::remove ()\fC [protected]\fP, \fC [virtual]\fP"
Remove the last point of the selection The \fBremoved()\fP signal is emitted\&.
.PP
\fBSee Also:\fP
.RS 4
\fBisActive()\fP, \fBbegin()\fP, \fBend()\fP, \fBappend()\fP, \fBmove()\fP 
.RE
.PP

.SS "void QwtPicker::removed (const QPoint &pos)\fC [signal]\fP"
A signal emitted whenever the last appended point of the selection has been removed\&.
.PP
\fBParameters:\fP
.RS 4
\fIpos\fP Position of the point, that has been removed 
.RE
.PP
\fBSee Also:\fP
.RS 4
\fBremove()\fP, \fBappended()\fP 
.RE
.PP

.SS "void QwtPicker::reset ()\fC [protected]\fP, \fC [virtual]\fP"
Reset the state machine and terminate ( end(false) ) the selection 
.SS "\fBQwtPicker::ResizeMode\fP QwtPicker::resizeMode () const"

.PP
\fBReturns:\fP
.RS 4
Resize mode 
.RE
.PP
\fBSee Also:\fP
.RS 4
\fBsetResizeMode()\fP, \fBResizeMode\fP 
.RE
.PP

.SS "\fBQwtPicker::RubberBand\fP QwtPicker::rubberBand () const"

.PP
\fBReturns:\fP
.RS 4
Rubber band style 
.RE
.PP
\fBSee Also:\fP
.RS 4
\fBsetRubberBand()\fP, \fBRubberBand\fP, \fBrubberBandPen()\fP 
.RE
.PP

.SS "QRegion QwtPicker::rubberBandMask () const\fC [virtual]\fP"
Calculate the mask for the rubber band overlay
.PP
\fBReturns:\fP
.RS 4
Region for the mask 
.RE
.PP
\fBSee Also:\fP
.RS 4
QWidget::setMask() 
.RE
.PP

.SS "const \fBQwtWidgetOverlay\fP * QwtPicker::rubberBandOverlay () const\fC [protected]\fP"

.PP
\fBReturns:\fP
.RS 4
Overlay displaying the rubber band 
.RE
.PP

.SS "QPen QwtPicker::rubberBandPen () const"

.PP
\fBReturns:\fP
.RS 4
Rubber band pen 
.RE
.PP
\fBSee Also:\fP
.RS 4
\fBsetRubberBandPen()\fP, \fBrubberBand()\fP 
.RE
.PP

.SS "void QwtPicker::selected (const QPolygon &polygon)\fC [signal]\fP"
A signal emitting the selected points, at the end of a selection\&.
.PP
\fBParameters:\fP
.RS 4
\fIpolygon\fP Selected points 
.RE
.PP

.SS "QPolygon QwtPicker::selection () const"

.PP
\fBReturns:\fP
.RS 4
Selected points 
.RE
.PP
\fBSee Also:\fP
.RS 4
\fBpickedPoints()\fP, \fBadjustedPoints()\fP 
.RE
.PP

.SS "void QwtPicker::setEnabled (boolenabled)\fC [slot]\fP"

.PP
En/disable the picker\&. When enabled is true an event filter is installed for the observed widget, otherwise the event filter is removed\&.
.PP
\fBParameters:\fP
.RS 4
\fIenabled\fP true or false 
.RE
.PP
\fBSee Also:\fP
.RS 4
\fBisEnabled()\fP, \fBeventFilter()\fP 
.RE
.PP

.SS "void QwtPicker::setResizeMode (\fBResizeMode\fPmode)"

.PP
Set the resize mode\&. The resize mode controls what to do with the selected points of an active selection when the observed widget is resized\&.
.PP
Stretch means the points are scaled according to the new size, KeepSize means the points remain unchanged\&.
.PP
The default mode is Stretch\&.
.PP
\fBParameters:\fP
.RS 4
\fImode\fP Resize mode 
.RE
.PP
\fBSee Also:\fP
.RS 4
\fBresizeMode()\fP, \fBResizeMode\fP 
.RE
.PP

.SS "void QwtPicker::setRubberBand (\fBRubberBand\fPrubberBand)"
Set the rubber band style
.PP
\fBParameters:\fP
.RS 4
\fIrubberBand\fP Rubber band style The default value is NoRubberBand\&.
.RE
.PP
\fBSee Also:\fP
.RS 4
\fBrubberBand()\fP, \fBRubberBand\fP, \fBsetRubberBandPen()\fP 
.RE
.PP

.SS "void QwtPicker::setRubberBandPen (const QPen &pen)"
Set the pen for the rubberband
.PP
\fBParameters:\fP
.RS 4
\fIpen\fP Rubber band pen 
.RE
.PP
\fBSee Also:\fP
.RS 4
\fBrubberBandPen()\fP, \fBsetRubberBand()\fP 
.RE
.PP

.SS "void QwtPicker::setStateMachine (\fBQwtPickerMachine\fP *stateMachine)"
Set a state machine and delete the previous one
.PP
\fBParameters:\fP
.RS 4
\fIstateMachine\fP State machine 
.RE
.PP
\fBSee Also:\fP
.RS 4
\fBstateMachine()\fP 
.RE
.PP

.SS "void QwtPicker::setTrackerFont (const QFont &font)"
Set the font for the tracker
.PP
\fBParameters:\fP
.RS 4
\fIfont\fP Tracker font 
.RE
.PP
\fBSee Also:\fP
.RS 4
\fBtrackerFont()\fP, \fBsetTrackerMode()\fP, \fBsetTrackerPen()\fP 
.RE
.PP

.SS "void QwtPicker::setTrackerMode (\fBDisplayMode\fPmode)"

.PP
Set the display mode of the tracker\&. A tracker displays information about current position of the cursor as a string\&. The display mode controls if the tracker has to be displayed whenever the observed widget has focus and cursor (AlwaysOn), never (AlwaysOff), or only when the selection is active (ActiveOnly)\&.
.PP
\fBParameters:\fP
.RS 4
\fImode\fP Tracker display mode
.RE
.PP
\fBWarning:\fP
.RS 4
In case of AlwaysOn, mouseTracking will be enabled for the observed widget\&. 
.RE
.PP
\fBSee Also:\fP
.RS 4
\fBtrackerMode()\fP, \fBDisplayMode\fP 
.RE
.PP

.SS "void QwtPicker::setTrackerPen (const QPen &pen)"
Set the pen for the tracker
.PP
\fBParameters:\fP
.RS 4
\fIpen\fP Tracker pen 
.RE
.PP
\fBSee Also:\fP
.RS 4
\fBtrackerPen()\fP, \fBsetTrackerMode()\fP, \fBsetTrackerFont()\fP 
.RE
.PP

.SS "const \fBQwtPickerMachine\fP * QwtPicker::stateMachine () const"

.PP
\fBReturns:\fP
.RS 4
Assigned state machine 
.RE
.PP
\fBSee Also:\fP
.RS 4
\fBsetStateMachine()\fP 
.RE
.PP

.SS "\fBQwtPickerMachine\fP * QwtPicker::stateMachine ()"

.PP
\fBReturns:\fP
.RS 4
Assigned state machine 
.RE
.PP
\fBSee Also:\fP
.RS 4
\fBsetStateMachine()\fP 
.RE
.PP

.SS "void QwtPicker::stretchSelection (const QSize &oldSize, const QSize &newSize)\fC [protected]\fP, \fC [virtual]\fP"
Scale the selection by the ratios of oldSize and newSize The \fBchanged()\fP signal is emitted\&.
.PP
\fBParameters:\fP
.RS 4
\fIoldSize\fP Previous size 
.br
\fInewSize\fP Current size
.RE
.PP
\fBSee Also:\fP
.RS 4
\fBResizeMode\fP, \fBsetResizeMode()\fP, \fBresizeMode()\fP 
.RE
.PP

.SS "QFont QwtPicker::trackerFont () const"

.PP
\fBReturns:\fP
.RS 4
Tracker font 
.RE
.PP
\fBSee Also:\fP
.RS 4
\fBsetTrackerFont()\fP, \fBtrackerMode()\fP, \fBtrackerPen()\fP 
.RE
.PP

.SS "\fBQwtPicker::DisplayMode\fP QwtPicker::trackerMode () const"

.PP
\fBReturns:\fP
.RS 4
Tracker display mode 
.RE
.PP
\fBSee Also:\fP
.RS 4
\fBsetTrackerMode()\fP, \fBDisplayMode\fP 
.RE
.PP

.SS "const \fBQwtWidgetOverlay\fP * QwtPicker::trackerOverlay () const\fC [protected]\fP"

.PP
\fBReturns:\fP
.RS 4
Overlay displaying the tracker text 
.RE
.PP

.SS "QPen QwtPicker::trackerPen () const"

.PP
\fBReturns:\fP
.RS 4
Tracker pen 
.RE
.PP
\fBSee Also:\fP
.RS 4
\fBsetTrackerPen()\fP, \fBtrackerMode()\fP, \fBtrackerFont()\fP 
.RE
.PP

.SS "QPoint QwtPicker::trackerPosition () const"

.PP
\fBReturns:\fP
.RS 4
Current position of the tracker 
.RE
.PP

.SS "QRect QwtPicker::trackerRect (const QFont &font) const\fC [virtual]\fP"
Calculate the bounding rectangle for the tracker text from the current position of the tracker
.PP
\fBParameters:\fP
.RS 4
\fIfont\fP Font of the tracker text 
.RE
.PP
\fBReturns:\fP
.RS 4
Bounding rectangle of the tracker text
.RE
.PP
\fBSee Also:\fP
.RS 4
\fBtrackerPosition()\fP 
.RE
.PP

.SS "\fBQwtText\fP QwtPicker::trackerText (const QPoint &pos) const\fC [virtual]\fP"

.PP
Return the label for a position\&. In case of HLineRubberBand the label is the value of the y position, in case of VLineRubberBand the value of the x position\&. Otherwise the label contains x and y position separated by a ',' \&.
.PP
The format for the string conversion is '%d'\&.
.PP
\fBParameters:\fP
.RS 4
\fIpos\fP Position 
.RE
.PP
\fBReturns:\fP
.RS 4
Converted position as string 
.RE
.PP

.PP
Reimplemented in \fBQwtPlotPicker\fP\&.
.SS "void QwtPicker::transition (const QEvent *event)\fC [protected]\fP, \fC [virtual]\fP"
Passes an event to the state machine and executes the resulting commands\&. Append and Move commands use the current position of the cursor ( QCursor::pos() )\&.
.PP
\fBParameters:\fP
.RS 4
\fIevent\fP Event 
.RE
.PP

.SS "void QwtPicker::widgetEnterEvent (QEvent *event)\fC [protected]\fP, \fC [virtual]\fP"
Handle a enter event for the observed widget\&.
.PP
\fBParameters:\fP
.RS 4
\fIevent\fP Qt event
.RE
.PP
\fBSee Also:\fP
.RS 4
\fBeventFilter()\fP, \fBwidgetMousePressEvent()\fP, \fBwidgetMouseReleaseEvent()\fP, \fBwidgetMouseDoubleClickEvent()\fP, \fBwidgetWheelEvent()\fP, \fBwidgetKeyPressEvent()\fP, \fBwidgetKeyReleaseEvent()\fP 
.RE
.PP

.SS "void QwtPicker::widgetKeyPressEvent (QKeyEvent *keyEvent)\fC [protected]\fP, \fC [virtual]\fP"
Handle a key press event for the observed widget\&.
.PP
Selections can be completely done by the keyboard\&. The arrow keys move the cursor, the abort key aborts a selection\&. All other keys are handled by the current state machine\&.
.PP
\fBParameters:\fP
.RS 4
\fIkeyEvent\fP Key event
.RE
.PP
\fBSee Also:\fP
.RS 4
\fBeventFilter()\fP, \fBwidgetMousePressEvent()\fP, \fBwidgetMouseReleaseEvent()\fP, \fBwidgetMouseDoubleClickEvent()\fP, \fBwidgetMouseMoveEvent()\fP, \fBwidgetWheelEvent()\fP, \fBwidgetKeyReleaseEvent()\fP, \fBstateMachine()\fP, \fBQwtEventPattern::KeyPatternCode\fP 
.RE
.PP

.PP
Reimplemented in \fBQwtPlotZoomer\fP\&.
.SS "void QwtPicker::widgetKeyReleaseEvent (QKeyEvent *keyEvent)\fC [protected]\fP, \fC [virtual]\fP"
Handle a key release event for the observed widget\&.
.PP
Passes the event to the state machine\&.
.PP
\fBParameters:\fP
.RS 4
\fIkeyEvent\fP Key event
.RE
.PP
\fBSee Also:\fP
.RS 4
\fBeventFilter()\fP, \fBwidgetMousePressEvent()\fP, \fBwidgetMouseReleaseEvent()\fP, \fBwidgetMouseDoubleClickEvent()\fP, \fBwidgetMouseMoveEvent()\fP, \fBwidgetWheelEvent()\fP, \fBwidgetKeyPressEvent()\fP, \fBstateMachine()\fP 
.RE
.PP

.SS "void QwtPicker::widgetLeaveEvent (QEvent *event)\fC [protected]\fP, \fC [virtual]\fP"
Handle a leave event for the observed widget\&.
.PP
\fBParameters:\fP
.RS 4
\fIevent\fP Qt event
.RE
.PP
\fBSee Also:\fP
.RS 4
\fBeventFilter()\fP, \fBwidgetMousePressEvent()\fP, \fBwidgetMouseReleaseEvent()\fP, \fBwidgetMouseDoubleClickEvent()\fP, \fBwidgetWheelEvent()\fP, \fBwidgetKeyPressEvent()\fP, \fBwidgetKeyReleaseEvent()\fP 
.RE
.PP

.SS "void QwtPicker::widgetMouseDoubleClickEvent (QMouseEvent *mouseEvent)\fC [protected]\fP, \fC [virtual]\fP"
Handle mouse double click event for the observed widget\&.
.PP
\fBParameters:\fP
.RS 4
\fImouseEvent\fP Mouse event
.RE
.PP
\fBSee Also:\fP
.RS 4
\fBeventFilter()\fP, \fBwidgetMousePressEvent()\fP, \fBwidgetMouseReleaseEvent()\fP, \fBwidgetMouseMoveEvent()\fP, \fBwidgetWheelEvent()\fP, \fBwidgetKeyPressEvent()\fP, \fBwidgetKeyReleaseEvent()\fP 
.RE
.PP

.SS "void QwtPicker::widgetMouseMoveEvent (QMouseEvent *mouseEvent)\fC [protected]\fP, \fC [virtual]\fP"
Handle a mouse move event for the observed widget\&.
.PP
\fBParameters:\fP
.RS 4
\fImouseEvent\fP Mouse event
.RE
.PP
\fBSee Also:\fP
.RS 4
\fBeventFilter()\fP, \fBwidgetMousePressEvent()\fP, \fBwidgetMouseReleaseEvent()\fP, \fBwidgetMouseDoubleClickEvent()\fP, \fBwidgetWheelEvent()\fP, \fBwidgetKeyPressEvent()\fP, \fBwidgetKeyReleaseEvent()\fP 
.RE
.PP

.SS "void QwtPicker::widgetMousePressEvent (QMouseEvent *mouseEvent)\fC [protected]\fP, \fC [virtual]\fP"
Handle a mouse press event for the observed widget\&.
.PP
\fBParameters:\fP
.RS 4
\fImouseEvent\fP Mouse event
.RE
.PP
\fBSee Also:\fP
.RS 4
\fBeventFilter()\fP, \fBwidgetMouseReleaseEvent()\fP, \fBwidgetMouseDoubleClickEvent()\fP, \fBwidgetMouseMoveEvent()\fP, \fBwidgetWheelEvent()\fP, \fBwidgetKeyPressEvent()\fP, \fBwidgetKeyReleaseEvent()\fP 
.RE
.PP

.SS "void QwtPicker::widgetMouseReleaseEvent (QMouseEvent *mouseEvent)\fC [protected]\fP, \fC [virtual]\fP"
Handle a mouse release event for the observed widget\&.
.PP
\fBParameters:\fP
.RS 4
\fImouseEvent\fP Mouse event
.RE
.PP
\fBSee Also:\fP
.RS 4
\fBeventFilter()\fP, \fBwidgetMousePressEvent()\fP, \fBwidgetMouseDoubleClickEvent()\fP, \fBwidgetMouseMoveEvent()\fP, \fBwidgetWheelEvent()\fP, \fBwidgetKeyPressEvent()\fP, \fBwidgetKeyReleaseEvent()\fP 
.RE
.PP

.PP
Reimplemented in \fBQwtPlotZoomer\fP\&.
.SS "void QwtPicker::widgetWheelEvent (QWheelEvent *wheelEvent)\fC [protected]\fP, \fC [virtual]\fP"
Handle a wheel event for the observed widget\&.
.PP
Move the last point of the selection in case of \fBisActive()\fP == true
.PP
\fBParameters:\fP
.RS 4
\fIwheelEvent\fP Wheel event
.RE
.PP
\fBSee Also:\fP
.RS 4
\fBeventFilter()\fP, \fBwidgetMousePressEvent()\fP, \fBwidgetMouseReleaseEvent()\fP, \fBwidgetMouseDoubleClickEvent()\fP, \fBwidgetMouseMoveEvent()\fP, \fBwidgetKeyPressEvent()\fP, \fBwidgetKeyReleaseEvent()\fP 
.RE
.PP


.SH "Author"
.PP 
Generated automatically by Doxygen for Qwt User's Guide from the source code\&.
